/**
 * <copyright>
 * </copyright>
 *

 */
package de.rwth.adroidGuiLang.impl;

import de.rwth.adroidGuiLang.AdroidGuiLangFactory;
import de.rwth.adroidGuiLang.AdroidGuiLangPackage;
import de.rwth.adroidGuiLang.Box;
import de.rwth.adroidGuiLang.Button;
import de.rwth.adroidGuiLang.CheckBox;
import de.rwth.adroidGuiLang.CheckedCheckBox;
import de.rwth.adroidGuiLang.CheckedRadioButton;
import de.rwth.adroidGuiLang.Colors;
import de.rwth.adroidGuiLang.EditText;
import de.rwth.adroidGuiLang.GuiElement;
import de.rwth.adroidGuiLang.Image;
import de.rwth.adroidGuiLang.Label;
import de.rwth.adroidGuiLang.OneColumnBox;
import de.rwth.adroidGuiLang.Placeholder;
import de.rwth.adroidGuiLang.RadioBox;
import de.rwth.adroidGuiLang.RadioButton;
import de.rwth.adroidGuiLang.SeperatorLine;
import de.rwth.adroidGuiLang.ThreeColumnBox;
import de.rwth.adroidGuiLang.ThreeColumnLine;
import de.rwth.adroidGuiLang.TwoColumnBox;
import de.rwth.adroidGuiLang.TwoColumnLine;
import de.rwth.adroidGuiLang.UncheckedCheckBox;
import de.rwth.adroidGuiLang.UncheckedRadioButton;
import de.rwth.adroidGuiLang.Window;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

import org.eclipse.emf.ecore.impl.EPackageImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class AdroidGuiLangPackageImpl extends EPackageImpl implements AdroidGuiLangPackage
{
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass windowEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass boxEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass oneColumnBoxEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass twoColumnBoxEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass twoColumnLineEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass threeColumnBoxEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass threeColumnLineEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass radioBoxEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass seperatorLineEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass radioButtonEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass checkedRadioButtonEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass uncheckedRadioButtonEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass guiElementEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass buttonEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass placeholderEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass imageEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass checkBoxEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass checkedCheckBoxEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass uncheckedCheckBoxEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass labelEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass editTextEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EEnum colorsEEnum = null;

  /**
   * Creates an instance of the model <b>Package</b>, registered with
   * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
   * package URI value.
   * <p>Note: the correct way to create the package is via the static
   * factory method {@link #init init()}, which also performs
   * initialization of the package, or returns the registered package,
   * if one already exists.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.eclipse.emf.ecore.EPackage.Registry
   * @see de.rwth.adroidGuiLang.AdroidGuiLangPackage#eNS_URI
   * @see #init()
   * @generated
   */
  private AdroidGuiLangPackageImpl()
  {
    super(eNS_URI, AdroidGuiLangFactory.eINSTANCE);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private static boolean isInited = false;

  /**
   * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
   * 
   * <p>This method is used to initialize {@link AdroidGuiLangPackage#eINSTANCE} when that field is accessed.
   * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #eNS_URI
   * @see #createPackageContents()
   * @see #initializePackageContents()
   * @generated
   */
  public static AdroidGuiLangPackage init()
  {
    if (isInited) return (AdroidGuiLangPackage)EPackage.Registry.INSTANCE.getEPackage(AdroidGuiLangPackage.eNS_URI);

    // Obtain or create and register package
    AdroidGuiLangPackageImpl theAdroidGuiLangPackage = (AdroidGuiLangPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof AdroidGuiLangPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new AdroidGuiLangPackageImpl());

    isInited = true;

    // Create package meta-data objects
    theAdroidGuiLangPackage.createPackageContents();

    // Initialize created meta-data
    theAdroidGuiLangPackage.initializePackageContents();

    // Mark meta-data to indicate it can't be changed
    theAdroidGuiLangPackage.freeze();

  
    // Update the registry and return the package
    EPackage.Registry.INSTANCE.put(AdroidGuiLangPackage.eNS_URI, theAdroidGuiLangPackage);
    return theAdroidGuiLangPackage;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getWindow()
  {
    return windowEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getWindow_Windowtitel()
  {
    return (EAttribute)windowEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getWindow_Color()
  {
    return (EAttribute)windowEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getWindow_Elements()
  {
    return (EReference)windowEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getBox()
  {
    return boxEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getOneColumnBox()
  {
    return oneColumnBoxEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getOneColumnBox_Description()
  {
    return (EAttribute)oneColumnBoxEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getOneColumnBox_Color()
  {
    return (EAttribute)oneColumnBoxEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getOneColumnBox_Elements()
  {
    return (EReference)oneColumnBoxEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getTwoColumnBox()
  {
    return twoColumnBoxEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getTwoColumnBox_Description()
  {
    return (EAttribute)twoColumnBoxEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getTwoColumnBox_Color()
  {
    return (EAttribute)twoColumnBoxEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getTwoColumnBox_Elements()
  {
    return (EReference)twoColumnBoxEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getTwoColumnLine()
  {
    return twoColumnLineEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getTwoColumnLine_FirstElement()
  {
    return (EReference)twoColumnLineEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getTwoColumnLine_SecondElement()
  {
    return (EReference)twoColumnLineEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getThreeColumnBox()
  {
    return threeColumnBoxEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getThreeColumnBox_Description()
  {
    return (EAttribute)threeColumnBoxEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getThreeColumnBox_Color()
  {
    return (EAttribute)threeColumnBoxEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getThreeColumnBox_Elements()
  {
    return (EReference)threeColumnBoxEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getThreeColumnLine()
  {
    return threeColumnLineEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getThreeColumnLine_FirstElement()
  {
    return (EReference)threeColumnLineEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getThreeColumnLine_SecondElement()
  {
    return (EReference)threeColumnLineEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getThreeColumnLine_ThirdElement()
  {
    return (EReference)threeColumnLineEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getRadioBox()
  {
    return radioBoxEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getRadioBox_Description()
  {
    return (EAttribute)radioBoxEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getRadioBox_Color()
  {
    return (EAttribute)radioBoxEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getRadioBox_RadioButtons()
  {
    return (EReference)radioBoxEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getSeperatorLine()
  {
    return seperatorLineEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getSeperatorLine_Liniendicke()
  {
    return (EAttribute)seperatorLineEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getRadioButton()
  {
    return radioButtonEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getRadioButton_Text()
  {
    return (EAttribute)radioButtonEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getRadioButton_Color()
  {
    return (EAttribute)radioButtonEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getCheckedRadioButton()
  {
    return checkedRadioButtonEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getUncheckedRadioButton()
  {
    return uncheckedRadioButtonEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getGuiElement()
  {
    return guiElementEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getButton()
  {
    return buttonEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getButton_Text()
  {
    return (EAttribute)buttonEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getButton_Color()
  {
    return (EAttribute)buttonEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getPlaceholder()
  {
    return placeholderEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getPlaceholder_Height()
  {
    return (EAttribute)placeholderEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getImage()
  {
    return imageEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getImage_FilenameWithoutExtension()
  {
    return (EAttribute)imageEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getCheckBox()
  {
    return checkBoxEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getCheckBox_Text()
  {
    return (EAttribute)checkBoxEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getCheckBox_Color()
  {
    return (EAttribute)checkBoxEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getCheckedCheckBox()
  {
    return checkedCheckBoxEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getUncheckedCheckBox()
  {
    return uncheckedCheckBoxEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getLabel()
  {
    return labelEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getLabel_Text()
  {
    return (EAttribute)labelEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getLabel_Color()
  {
    return (EAttribute)labelEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getLabel_Zentriert()
  {
    return (EAttribute)labelEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getEditText()
  {
    return editTextEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getEditText_Text()
  {
    return (EAttribute)editTextEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getEditText_Color()
  {
    return (EAttribute)editTextEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EEnum getColors()
  {
    return colorsEEnum;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public AdroidGuiLangFactory getAdroidGuiLangFactory()
  {
    return (AdroidGuiLangFactory)getEFactoryInstance();
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private boolean isCreated = false;

  /**
   * Creates the meta-model objects for the package.  This method is
   * guarded to have no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void createPackageContents()
  {
    if (isCreated) return;
    isCreated = true;

    // Create classes and their features
    windowEClass = createEClass(WINDOW);
    createEAttribute(windowEClass, WINDOW__WINDOWTITEL);
    createEAttribute(windowEClass, WINDOW__COLOR);
    createEReference(windowEClass, WINDOW__ELEMENTS);

    boxEClass = createEClass(BOX);

    oneColumnBoxEClass = createEClass(ONE_COLUMN_BOX);
    createEAttribute(oneColumnBoxEClass, ONE_COLUMN_BOX__DESCRIPTION);
    createEAttribute(oneColumnBoxEClass, ONE_COLUMN_BOX__COLOR);
    createEReference(oneColumnBoxEClass, ONE_COLUMN_BOX__ELEMENTS);

    twoColumnBoxEClass = createEClass(TWO_COLUMN_BOX);
    createEAttribute(twoColumnBoxEClass, TWO_COLUMN_BOX__DESCRIPTION);
    createEAttribute(twoColumnBoxEClass, TWO_COLUMN_BOX__COLOR);
    createEReference(twoColumnBoxEClass, TWO_COLUMN_BOX__ELEMENTS);

    twoColumnLineEClass = createEClass(TWO_COLUMN_LINE);
    createEReference(twoColumnLineEClass, TWO_COLUMN_LINE__FIRST_ELEMENT);
    createEReference(twoColumnLineEClass, TWO_COLUMN_LINE__SECOND_ELEMENT);

    threeColumnBoxEClass = createEClass(THREE_COLUMN_BOX);
    createEAttribute(threeColumnBoxEClass, THREE_COLUMN_BOX__DESCRIPTION);
    createEAttribute(threeColumnBoxEClass, THREE_COLUMN_BOX__COLOR);
    createEReference(threeColumnBoxEClass, THREE_COLUMN_BOX__ELEMENTS);

    threeColumnLineEClass = createEClass(THREE_COLUMN_LINE);
    createEReference(threeColumnLineEClass, THREE_COLUMN_LINE__FIRST_ELEMENT);
    createEReference(threeColumnLineEClass, THREE_COLUMN_LINE__SECOND_ELEMENT);
    createEReference(threeColumnLineEClass, THREE_COLUMN_LINE__THIRD_ELEMENT);

    radioBoxEClass = createEClass(RADIO_BOX);
    createEAttribute(radioBoxEClass, RADIO_BOX__DESCRIPTION);
    createEAttribute(radioBoxEClass, RADIO_BOX__COLOR);
    createEReference(radioBoxEClass, RADIO_BOX__RADIO_BUTTONS);

    seperatorLineEClass = createEClass(SEPERATOR_LINE);
    createEAttribute(seperatorLineEClass, SEPERATOR_LINE__LINIENDICKE);

    radioButtonEClass = createEClass(RADIO_BUTTON);
    createEAttribute(radioButtonEClass, RADIO_BUTTON__TEXT);
    createEAttribute(radioButtonEClass, RADIO_BUTTON__COLOR);

    checkedRadioButtonEClass = createEClass(CHECKED_RADIO_BUTTON);

    uncheckedRadioButtonEClass = createEClass(UNCHECKED_RADIO_BUTTON);

    guiElementEClass = createEClass(GUI_ELEMENT);

    buttonEClass = createEClass(BUTTON);
    createEAttribute(buttonEClass, BUTTON__TEXT);
    createEAttribute(buttonEClass, BUTTON__COLOR);

    placeholderEClass = createEClass(PLACEHOLDER);
    createEAttribute(placeholderEClass, PLACEHOLDER__HEIGHT);

    imageEClass = createEClass(IMAGE);
    createEAttribute(imageEClass, IMAGE__FILENAME_WITHOUT_EXTENSION);

    checkBoxEClass = createEClass(CHECK_BOX);
    createEAttribute(checkBoxEClass, CHECK_BOX__TEXT);
    createEAttribute(checkBoxEClass, CHECK_BOX__COLOR);

    checkedCheckBoxEClass = createEClass(CHECKED_CHECK_BOX);

    uncheckedCheckBoxEClass = createEClass(UNCHECKED_CHECK_BOX);

    labelEClass = createEClass(LABEL);
    createEAttribute(labelEClass, LABEL__TEXT);
    createEAttribute(labelEClass, LABEL__COLOR);
    createEAttribute(labelEClass, LABEL__ZENTRIERT);

    editTextEClass = createEClass(EDIT_TEXT);
    createEAttribute(editTextEClass, EDIT_TEXT__TEXT);
    createEAttribute(editTextEClass, EDIT_TEXT__COLOR);

    // Create enums
    colorsEEnum = createEEnum(COLORS);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private boolean isInitialized = false;

  /**
   * Complete the initialization of the package and its meta-model.  This
   * method is guarded to have no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void initializePackageContents()
  {
    if (isInitialized) return;
    isInitialized = true;

    // Initialize package
    setName(eNAME);
    setNsPrefix(eNS_PREFIX);
    setNsURI(eNS_URI);

    // Create type parameters

    // Set bounds for type parameters

    // Add supertypes to classes
    oneColumnBoxEClass.getESuperTypes().add(this.getBox());
    twoColumnBoxEClass.getESuperTypes().add(this.getBox());
    threeColumnBoxEClass.getESuperTypes().add(this.getBox());
    radioBoxEClass.getESuperTypes().add(this.getBox());
    seperatorLineEClass.getESuperTypes().add(this.getBox());
    checkedRadioButtonEClass.getESuperTypes().add(this.getRadioButton());
    uncheckedRadioButtonEClass.getESuperTypes().add(this.getRadioButton());
    buttonEClass.getESuperTypes().add(this.getGuiElement());
    placeholderEClass.getESuperTypes().add(this.getGuiElement());
    imageEClass.getESuperTypes().add(this.getGuiElement());
    checkBoxEClass.getESuperTypes().add(this.getGuiElement());
    checkedCheckBoxEClass.getESuperTypes().add(this.getCheckBox());
    uncheckedCheckBoxEClass.getESuperTypes().add(this.getCheckBox());
    labelEClass.getESuperTypes().add(this.getGuiElement());
    editTextEClass.getESuperTypes().add(this.getGuiElement());

    // Initialize classes and features; add operations and parameters
    initEClass(windowEClass, Window.class, "Window", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getWindow_Windowtitel(), ecorePackage.getEString(), "Windowtitel", null, 0, 1, Window.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getWindow_Color(), this.getColors(), "color", null, 0, 1, Window.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getWindow_Elements(), this.getBox(), null, "elements", null, 0, -1, Window.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(boxEClass, Box.class, "Box", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

    initEClass(oneColumnBoxEClass, OneColumnBox.class, "OneColumnBox", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getOneColumnBox_Description(), ecorePackage.getEString(), "Description", null, 0, 1, OneColumnBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getOneColumnBox_Color(), this.getColors(), "color", null, 0, 1, OneColumnBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getOneColumnBox_Elements(), this.getGuiElement(), null, "elements", null, 0, -1, OneColumnBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(twoColumnBoxEClass, TwoColumnBox.class, "TwoColumnBox", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getTwoColumnBox_Description(), ecorePackage.getEString(), "Description", null, 0, 1, TwoColumnBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getTwoColumnBox_Color(), this.getColors(), "color", null, 0, 1, TwoColumnBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getTwoColumnBox_Elements(), this.getTwoColumnLine(), null, "elements", null, 0, -1, TwoColumnBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(twoColumnLineEClass, TwoColumnLine.class, "TwoColumnLine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getTwoColumnLine_FirstElement(), this.getGuiElement(), null, "firstElement", null, 0, 1, TwoColumnLine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getTwoColumnLine_SecondElement(), this.getGuiElement(), null, "secondElement", null, 0, 1, TwoColumnLine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(threeColumnBoxEClass, ThreeColumnBox.class, "ThreeColumnBox", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getThreeColumnBox_Description(), ecorePackage.getEString(), "Description", null, 0, 1, ThreeColumnBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getThreeColumnBox_Color(), this.getColors(), "color", null, 0, 1, ThreeColumnBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getThreeColumnBox_Elements(), this.getThreeColumnLine(), null, "elements", null, 0, -1, ThreeColumnBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(threeColumnLineEClass, ThreeColumnLine.class, "ThreeColumnLine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getThreeColumnLine_FirstElement(), this.getGuiElement(), null, "firstElement", null, 0, 1, ThreeColumnLine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getThreeColumnLine_SecondElement(), this.getGuiElement(), null, "secondElement", null, 0, 1, ThreeColumnLine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getThreeColumnLine_ThirdElement(), this.getGuiElement(), null, "thirdElement", null, 0, 1, ThreeColumnLine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(radioBoxEClass, RadioBox.class, "RadioBox", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getRadioBox_Description(), ecorePackage.getEString(), "Description", null, 0, 1, RadioBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getRadioBox_Color(), this.getColors(), "color", null, 0, 1, RadioBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getRadioBox_RadioButtons(), this.getRadioButton(), null, "radioButtons", null, 0, -1, RadioBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(seperatorLineEClass, SeperatorLine.class, "SeperatorLine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getSeperatorLine_Liniendicke(), ecorePackage.getEInt(), "Liniendicke", null, 0, 1, SeperatorLine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(radioButtonEClass, RadioButton.class, "RadioButton", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getRadioButton_Text(), ecorePackage.getEString(), "Text", null, 0, 1, RadioButton.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getRadioButton_Color(), this.getColors(), "color", null, 0, 1, RadioButton.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(checkedRadioButtonEClass, CheckedRadioButton.class, "CheckedRadioButton", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

    initEClass(uncheckedRadioButtonEClass, UncheckedRadioButton.class, "UncheckedRadioButton", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

    initEClass(guiElementEClass, GuiElement.class, "GuiElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

    initEClass(buttonEClass, Button.class, "Button", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getButton_Text(), ecorePackage.getEString(), "Text", null, 0, 1, Button.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getButton_Color(), this.getColors(), "color", null, 0, 1, Button.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(placeholderEClass, Placeholder.class, "Placeholder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getPlaceholder_Height(), ecorePackage.getEInt(), "height", null, 0, 1, Placeholder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(imageEClass, Image.class, "Image", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getImage_FilenameWithoutExtension(), ecorePackage.getEString(), "FilenameWithoutExtension", null, 0, 1, Image.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(checkBoxEClass, CheckBox.class, "CheckBox", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getCheckBox_Text(), ecorePackage.getEString(), "Text", null, 0, 1, CheckBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getCheckBox_Color(), this.getColors(), "color", null, 0, 1, CheckBox.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(checkedCheckBoxEClass, CheckedCheckBox.class, "CheckedCheckBox", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

    initEClass(uncheckedCheckBoxEClass, UncheckedCheckBox.class, "UncheckedCheckBox", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

    initEClass(labelEClass, Label.class, "Label", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getLabel_Text(), ecorePackage.getEString(), "Text", null, 0, 1, Label.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getLabel_Color(), this.getColors(), "color", null, 0, 1, Label.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getLabel_Zentriert(), ecorePackage.getEBoolean(), "zentriert", null, 0, 1, Label.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(editTextEClass, EditText.class, "EditText", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getEditText_Text(), ecorePackage.getEString(), "Text", null, 0, 1, EditText.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getEditText_Color(), this.getColors(), "color", null, 0, 1, EditText.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    // Initialize enums and add enum literals
    initEEnum(colorsEEnum, Colors.class, "Colors");
    addEEnumLiteral(colorsEEnum, Colors.NULL);
    addEEnumLiteral(colorsEEnum, Colors.BLUE);
    addEEnumLiteral(colorsEEnum, Colors.RED);
    addEEnumLiteral(colorsEEnum, Colors.GREEN);
    addEEnumLiteral(colorsEEnum, Colors.GRAY);
    addEEnumLiteral(colorsEEnum, Colors.LILA);
    addEEnumLiteral(colorsEEnum, Colors.ORANGE);
    addEEnumLiteral(colorsEEnum, Colors.BLUE_LIGHT);
    addEEnumLiteral(colorsEEnum, Colors.RED_LIGHT);
    addEEnumLiteral(colorsEEnum, Colors.GREEN_LIGHT);
    addEEnumLiteral(colorsEEnum, Colors.GRAY_LIGHT);
    addEEnumLiteral(colorsEEnum, Colors.LILA_LIGHT);
    addEEnumLiteral(colorsEEnum, Colors.ORANGE_LIGHT);
    addEEnumLiteral(colorsEEnum, Colors.WHITE);
    addEEnumLiteral(colorsEEnum, Colors.BLACK);

    // Create resource
    createResource(eNS_URI);
  }

} //AdroidGuiLangPackageImpl
